Systems of various types consume energy as a function of the numbers and types of their hardware components and their operations. Software also affects the energy consumption of computing systems because software modules often cause the hardware components to consume energy. For instance, perhaps the most visible way in which software modules consume energy is by calling hardware operations (e.g., accessing a disk drive). However, software modules also consume energy in less visible manners. For example, most software modules require that the memory in which they reside be powered during their execution (particularly if the memory is volatile or if portions of the software modules are loaded from memory at run time). Software modules also require that the processor be energized to execute their instructions.
Energy consumption creates certain problems for computing systems as well as other types of systems. For instance, the consumption of energy generates heat which must be disposed of. If the system does not dispose of the heat, the operating temperature of the hardware components involved and those nearby might rise to undesirable levels. Therefore, computing systems often include cooling features to dispose of such waste heat. These cooling features, however, increase the cost, complexity, weight, size, parts count, etc. of the computing systems. Moreover, purchasing the energy can be expensive (particularly for large computing systems such as data storage silos). The consumption of energy itself can also be problematic if the onboard energy supply of the computing device is limited (as with laptop computers). In such situations, the energy supply (e.g. batteries) must be recharged, replaced, or otherwise supplemented relatively frequently for the use of the computing system to continue without interruption.
While previous energy consumption measuring systems do provide some limited information regarding energy consumption at the computing device level, these previously available systems provide little visibility into how computing devices (and systems) internally consume energy.